The present invention relates generally to color management in graphic arts (GA) publishing, and more specifically to techniques for calibrating scanners. The term "scanner" used herein is intended to include not only devices that scan a printed input but also other devices that receive radiation and output color signals, such as digital cameras.
A computer system providing color management functions comprises various devices that receive or output color images. Each such device usually has its own, device-dependent, way of specifying a particular color. Typically, each device communicates color information to other devices by mapping its device-dependent color specifications into corresponding specifications in a common device-independent representation of color used throughout the computer system. One such device-independent representation of color is the XYZ color space defined by the CIE (Commission Internationale de l'Eclarage in French).
One common device in color management systems is a scanner, which scans a color printed image. A typical scanner provides a set of RGB (red-green-blue) values, each normally ranging from 0-255, with (0, 0, 0) ideally corresponding to black and (255, 255, 255) to white (no colorant). Typically, a scanner must be calibrated in order to provide accurate mapping from the scanner's color representations to corresponding device-independent color representations, over the range of colors that are expected to be encountered. Accurate device-independent representations can then be shared with other devices (such as a monitor), enabling them to accurately reproduce colors that look like the colors in the scanned printed image or captured scene. The use of the term "color printed image" is intended to include not only images printed on paper but also other types of scanner inputs, such as films, transparencies, and slides. The term "printer" is intended to include the devices producing such scanner inputs and against whose output the scanner is to be calibrated.
One approach to scanner calibration involves building a lookup table, whose entries are indexed by scanner color representation, with each entry containing a respective corresponding device-independent color representation. The scanner color representation associated with each table entry is obtained by scanning a sample of a respective color from the input color space. The corresponding device-independent color representation is obtained by examining the color sample with a device that can provide device-independent color representations, such as a spectrophotometer. An interpolation technique is used to calculate a device-independent color representation corresponding to an arbitrary scanner color representation, using the values stored in two or more of the look-up table entries.
The required interpolation technique is typically three-dimensional, and thus computationally expensive. Given that a scanned image may have millions of pixels, the interpolation technique may result in an unacceptably slow mapping from a scanner representation to a device-independent representation of the colors in the image. Further, to build a look-up table over the three-dimensional scanner color space may require a very large number of samples to adequately capture the range of possible colors.
In view of these difficulties, attempts have been made to find a linear mapping between the scanner's device-dependent color representations (e.g., scanner RGB values) and the desired device-independent color representations (e.g., XYZ values). Put another way, attempts have been made to determine a 3.times.3 transformation matrix, M, such that the XYZ values, denoted X.sub.a, Y.sub.a, and Z.sub.a, for an arbitrary set of scanner RGB values denoted R.sub.a, G.sub.a, and B.sub.a, are determined as follows: EQU (X.sub.a, Y.sub.a, Z.sub.a)=(R.sub.a, G.sub.a, B.sub.a) * M.
This has typically been done by measuring a number of color samples distributed over the input color space, and doing a least squares fit (or other type of fit) to determine the matrix parameters. Since the mapping is, in general, not linear over the entire color space, such efforts have not led to acceptable results.